12 research outputs found

    Análisis de recursos de programas enteros y abstractos

    Get PDF
    Tesis inédita de la Universidad Complutense de Madrid, Facultad de Informática, Departamento de Sistemas lnformáticos y de Computación, leída el 27-05-2022Since the beginning of automated computing in the middle of the last century, the development of computer science has been linked to an increasing importance in all areas of the current society. The inclusion of computer science processes in everyday life and, in particular, its inclusion in critical situations, cannot go linked only to the generation of hardware and software, but also to the analysis and verification of all its components. While hardware analysis is crucial for the generation and maintenance of the computation infrastructure, as it is able to detect or predict components that can have a wrong behavior, software analysis focuses on analyzing the behavior of computer programs to address properties such as security, correctness or optimality. Depending on the type of analysis applied to the software, we can detect potential vulnerabilities in the code, find incorrect specifications, apply optimizations based on the maximun and minimun cost of the programs, calculate the resource consumption of a program..Desde el comienzo de la computación automática a mediados del siglo pasado, el avance de la informática ha ido ligado a una cada vez mayor importancia en todos los ámbitos d ela sociedad actual. La inclusión de procesos informáticos en la vida cotidiana y, en particular, su inclusión en situaciones críticas, no puede ir ligada solo a la generación del hardware el software, sino también al análisis y verificación de todos sus componentes. Mientras que el análisis de hardware es crucial para la generación de la infraestructura informática y el mantenimiento de la misma, detectando o prediciendo componentes que puedan funcionar de manera errónea, el análisis de software se enfoca hacia el análisis del comportamiento de los programas informáticos para abordar propiedades como la seguridad, la corrección o la optimalidad. Dependiendo del tipo de análisis aplicado al software, podremos detectar fragmentos de código potencialmente vulnerables, especificaciones incorrectas, aplicar optimizaciones en base al coste máximo y mínimo de los programas, calcular el consumo de recursos de un programa...Fac. de InformáticaTRUEunpu

    Detección estática de propiedades de ejecución de programas concurrentes con locks utilizando SACO

    Get PDF
    Actualmente, la ejecución concurrente es una de las bases de la informática. Este tipo de ejecución ha llevado a tener que resolver problemas complejos como la sincronización de las variables compartidas entre programas, para evitar las carreras de datos. Las carreras de datos ocurren cuando varios procesos acceden simultáneamente a datos globales, y como consecuencia de los accesos simultáneos, el estado de las variables no es el esperado (o el correcto), es decir, los datos quedan “corrompidos”. Refiriéndonos a estas partes que queremos proteger como secciones críticas de nuestros programas, se han desarrollado múltiples mecanismos para poder ejecutarlas sin riesgo. El modelo más usado para esta protección de los datos es el uso en programas en lenguajes imperativos de primitivas lock y unlock para realizar la entrada y salida de la sección crítica, protegida por diferentes cerrojos o mútex. Sin embargo, aunque este modelo proporciona un mecanismo para evitar la corrupción de los datos, un uso incorrecto de los cerrojos no garantiza que no exista corrupción, ni tampoco ausencia de bloqueos (o deadlocks). Llegamos así al problema del deadlock, que sucede cuando varios programas están esperando a recursos que mantienen otros programas, de forma que ninguno puede avanzar. Este problema ha sido estudiado en numerosos lenguajes, muchos basados en paso de mensajes asíncrono, intentando encontrar un método para saber si un programa va o no a bloquearse. Un ejemplo de esto es ABS, un lenguaje basado en actores en el que se han desarrollado herramientas de análisis estático para detectar deadlock en programas basados en paso de mensajes y que se encuentran a nuestra disposición. La motivación de este trabajo es unir el modelo de concurrencia basado en lenguajes imperativos y locks y el uso de las herramientas de ABS en programas asíncronos basados en paso de mensajes para, así, beneficiarnos de ambos aspectos. Para ello, se plantea como objetivo implementar una traducción de programas en lenguaje imperativo que utilizan mútex a programas escritos en ABS, desarrollando un modelo apropiado que represente los cerrojos y demostrando la equivalencia entre ambos. Por ello, en el trabajo se desarrollan los siguientes puntos: • Planteamiento del mecanismo equivalente a los locks en ABS. • Desarrollo de un lenguaje imperativo genérico en el que poder implementar los programas que vamos a traducir. Se desarrollarán las posibles instrucciones, la estructura que deberá tener el programa, la semántica de las instrucciones, y la noción de deadlock en este lenguaje. • Introducción del lenguaje ABS, su semántica y el análisis de deadlock. • Traducción de las instrucciones, mediante la definición de la función apropiada. Demostraremos formalmente, utilizando mecanismos matemáticos, tanto la equivalencia de instrucciones en ambos lenguajes como la implicación de que si en el lenguaje imperativo hay deadlock, entonces lo habrá en ABS. • Implementación de la traducción mediante estructuras adecuadas y traducción de ejemplos utilizando la herramienta desarrollada. • Conclusiones y resultados del trabajo

    Certified Abstract Cost Analysis

    Get PDF
    A program containing placeholders for unspecified statements or expressions is called an abstract (or schematic) program. Placeholder symbols occur naturally in program transformation rules, as used in refactoring, compilation, optimization, or parallelization. We present a generalization of automated cost analysis that can handle abstract programs and, hence, can analyze the impact on the cost of program transformations. This kind of relational property requires provably precise cost bounds which are not always produced by cost analysis. Therefore, we certify by deductive verification that the inferred abstract cost bounds are correct and sufficiently precise. It is the first approach solving this problem. Both, abstract cost analysis and certification, are based on quantitative abstract execution (QAE) which in turn is a variation of abstract execution, a recently developed symbolic execution technique for abstract programs. To realize QAE the new concept of a cost invariant is introduced. QAE is implemented and runs fully automatically on a benchmark set consisting of representative optimization rules

    Características del líquido sinovial en pacientes con artritis idiopática juvenil

    Get PDF
    Introducción: El análisis del líquido sinovial (LS) es una herramienta importante en el diagnóstico de pacientes con artritis idiopática juvenil (AIJ). Pacientes y métodos: Análisis retrospectivo de las características citológicas del LS obtenido de pacientes con AIJ en el periodo 2008-2016. Resultados: Se analizaron 102 LS de 59 pacientes. El 66% fueron mujeres y la forma clínica más frecuente fue la AIJ oligoarticular persistente (52,5%). La mediana de edad al inicio fue de 5 años (RIC 2,4-11,8). El LS generalmente era de características inflamatorias (mediana leucocitos 11.757/mm3; RIC 4.543-18.800) con predominio de polimorfonucleares (PMN, 61%; RIC 30-75). Ocho pacientes (14%) presentaron recuentos inferiores a 2.000 cél/mm3, con predominio de mononucleares (80%), mientras que 3 pacientes (5%) presentaron recuentos superiores a 50.000 cél/mm3, con predominio de PMN (90%). No se encontraron diferencias en los recuentos celulares entre las distintas formas de AIJ. La mediana del recuento de leucocitos de pacientes positivos para ANA fue un 20% inferior a la de niños negativos para ANA (9.340 vs. 11.600/mm3; p = 0,23). La proporción de PMN en LS tendía a aumentar conforme se incrementaba la VSG (p < 0,001) y/o la PCR (p = 0,03). No existe correlación del índice JADAS-10 con el recuento en LS (p = 0,4). El LS en artrocentesis simultáneas de diferentes articulaciones mostró una correlación significativa (p = 0,001). Conclusiones: El LS de pacientes con AIJ generalmente tiene características inflamatorias, aunque un 19% presentó recuentos inferiores a 2.000 o superiores a 50.000 cél/mm3. Los recuentos en pacientes positivos para ANA tendían a ser menores que en los negativos para ANA (no significativo). La proporción de PMN aumentaba con los reactantes.Introduction: Synovial fluid (SF) analysis is an important tool for the diagnosis of patients with juvenile idiopathic arthritis (JIA). Patients and methods: A retrospective analysis was carried out of cytological features of SF samples obtained from patients with JIA during the period 2008-2016. Results: A total of 102 SF samples from 59 patients were analysed. JIA was more common in females (66%). The most frequent form was persistent oligoarticular JIA (52.5%). The median age at onset was 5 years (IQR 2.4-11.8). SF usually showed an inflammatory pattern (median white blood cells count 11,757/mm3; IQR 4,543-18,800), with a predominance of polymorphonuclear (PMN) cells (61%; IQR 30-75). Eight patients (14%) had white blood cells counts of less than 2,000 cells/mm3, with predominance of mononuclear cells (80%), whereas 3 patients (5%) had white blood cells counts higher than 50,000 cells/mm3, with a predominance of PMN cells (90%). Synovial white blood cells count did not show significant differences among the different forms of JIA. The median synovial white blood cells count in ANA-positive patients was 20% lower than in ANA-negative (9,340 vs. 11,600/mm3; P=.23). The proportion of PMN increased with increasing levels of ESR (P<.001) and/or CRP (P=.03). No significant correlation was found between JADAS-10 and synovial white blood cells count (P=.4). SF obtained from different joints in simultaneous arthrocentesis showed a significant correlation P=.001). Conclusion: SF from JIA patients usually had inflammatory characteristics, although 19% of the patients showed white blood cells counts below 2,000cells/mm3 or higher than 50,000cells/mm3. SF cell count was non-significantly lower in ANA-positive patients, and the proportion of PMN increased with increasing levels of ESR/CRP

    Certified Abstract Cost Analysis

    No full text
    A program containing placeholders for unspecified statements or expressions is called an abstract (or schematic) program. Placeholder symbols occur naturally in program transformation rules, as used in refactoring, compilation, optimization, or parallelization. We present a generalization of automated cost analysis that can handle abstract programs and, hence, can analyze the impact on the cost of program transformations. This kind of relational property requires provably precise cost bounds which are not always produced by cost analysis. Therefore, we certify by deductive verification that the inferred abstract cost bounds are correct and sufficiently precise. It is the first approach solving this problem. Both, abstract cost analysis and certification, are based on quantitative abstract execution (QAE) which in turn is a variation of abstract execution, a recently developed symbolic execution technique for abstract programs. To realize QAE the new concept of a cost invariant is introduced. QAE is implemented and runs fully automatically on a benchmark set consisting of representative optimization rules
    corecore